/*
 * @Description: 
 * @Autor: 商晓彬
 * @Date: 2021-06-28 13:50:37
 * @LastEditors: 商晓彬
 * @LastEditTime: 2021-09-09 09:39:22
 */
import { NgModule } from '@angular/core';
import { CommonModule } from '@angular/common';

import { ProcessManagementRoutingModule } from './process-management-routing.module';
import { ProcessPathComponent } from './process-path/process-path.component';
import { FormsModule, ReactiveFormsModule } from '@angular/forms';
import { AppCommonModule } from '@app/shared/common/app-common.module';
import { UtilsModule } from '@shared/utils/utils.module';
import { CountoModule } from 'angular2-counto';
import { ModalModule, TabsModule, TooltipModule, BsDropdownModule, PopoverModule } from 'ngx-bootstrap';

import { NgxChartsModule } from '@swimlane/ngx-charts';
import { TableModule } from 'primeng/table';
import { TreeModule } from 'primeng/tree';
import { BsDatepickerModule, BsDatepickerConfig, BsDaterangepickerConfig, BsLocaleService } from 'ngx-bootstrap/datepicker';
import { NgxBootstrapDatePickerConfigService } from 'assets/ngx-bootstrap/ngx-bootstrap-datepicker-config.service';
import { LightboxModule } from 'primeng/lightbox';
import { AdminModule } from '../admin/admin.module';
import { ToggleButtonModule } from 'primeng/togglebutton';
import { ButtonModule } from 'primeng/button';

import {
    AutoCompleteModule,
    CardModule,
    ContextMenuModule,
    DragDropModule,
    EditorModule,
    FileUploadModule,
    InputMaskModule,
    MultiSelectModule,
    PaginatorModule,
    TabViewModule,
    CalendarModule
} from 'primeng/primeng';
import { TextMaskModule } from 'angular2-text-mask';
import { ImageCropperModule } from 'ngx-image-cropper';
import { ChipsModule } from 'primeng/chips';
import { ShowResumeComponent } from './process-path/show-resume/show-resume.component';
import { AddOrEditPathComponent } from './process-path/add-or-edit-path/add-or-edit-path.component';
import { TreeTableModule } from 'primeng/treetable';
import {DialogModule} from 'primeng/dialog';
import { MaterialCodeComponent } from './process-path/add-or-edit-path/material-code/material-code.component';
import { MaterialSonComponent } from './process-path/add-or-edit-path/material-son/material-son.component';
import { BomLookComponent } from './process-path/bom-look/bom-look.component';
import { BomApprovalComponent } from './process-path/bom-approval/bom-approval.component';
import { SidebarModule } from 'primeng/sidebar';
import { TriStateCheckboxModule } from 'primeng/tristatecheckbox';
import { MakeBomComponent } from './make-bom/make-bom.component';
import { ComparativeAnalysisComponent } from './comparative-analysis/comparative-analysis.component';
import { AddBomComponent } from './make-bom/add-bom/add-bom.component';
import { BomResumeComponent } from './make-bom/bom-resume/bom-resume.component';
import { BomWatchComponent } from './make-bom/bom-watch/bom-watch.component';
import { QRCodeModule } from 'angular2-qrcode';

@NgModule({
    imports: [
        QRCodeModule,
        TriStateCheckboxModule,
        SidebarModule,
        DialogModule,
        TreeTableModule,
        CommonModule,
        ProcessManagementRoutingModule,
        CommonModule,
        ModalModule,
        TabsModule,
        TooltipModule,
        AppCommonModule,
        UtilsModule,
        CountoModule,
        NgxChartsModule,
        BsDatepickerModule.forRoot(),
        BsDropdownModule.forRoot(),
        TableModule,
        PaginatorModule,
        AdminModule,
        FormsModule,
        ReactiveFormsModule,
        CommonModule,
        FileUploadModule,
        ModalModule.forRoot(),
        TabsModule.forRoot(),
        TooltipModule.forRoot(),
        PopoverModule.forRoot(),
        BsDropdownModule.forRoot(),
        BsDatepickerModule.forRoot(),
        UtilsModule,
        AppCommonModule,
        TableModule,
        TreeModule,
        DragDropModule,
        ContextMenuModule,
        PaginatorModule,
        AutoCompleteModule,
        EditorModule,
        InputMaskModule,
        NgxChartsModule,
        CountoModule,
        TextMaskModule,
        ImageCropperModule,
        TabViewModule,
        CardModule,
        MultiSelectModule,
        CalendarModule,
        LightboxModule,
        ToggleButtonModule,
        ButtonModule,
        ChipsModule
    ],
    declarations: [
        ProcessPathComponent,
        ShowResumeComponent,
        AddOrEditPathComponent,
        MaterialCodeComponent,
        MaterialSonComponent,
        BomLookComponent,
        BomApprovalComponent,
        MakeBomComponent,
        ComparativeAnalysisComponent,
        AddBomComponent,
        BomResumeComponent,
        BomWatchComponent
    ],
    providers: [
        { provide: BsDatepickerConfig, useFactory: NgxBootstrapDatePickerConfigService.getDatepickerConfig },
        { provide: BsDaterangepickerConfig, useFactory: NgxBootstrapDatePickerConfigService.getDaterangepickerConfig },
        { provide: BsLocaleService, useFactory: NgxBootstrapDatePickerConfigService.getDatepickerLocale }
    ]
})
export class ProcessManagementModule { }
